package com.lanxin.mp.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lanxin.mp.entity.MpCardtype;
import com.lanxin.mp.entity.MpContact;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lanxin.mp.vo.UserContact;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author zyq
 * @since 2025-07-16
 */
public interface MpContactMapper extends BaseMapper<MpContact> {

    /**
     * 多表分页查询（名片+类型），返回VO
     * @param page 分页参数
     * @param eid 员工ID（过滤当前员工数据）
     * @param name 姓名查询条件
     * @param sex 性别查询条件
     * @param company 公司查询条件
     * @param typeid 类型ID查询条件
     * @param mobile 电话查询条件
     * @return 分页VO列表
     */
    IPage<UserContact> listContactVOByPage(Page<UserContact> page,
                                           @Param("eid") Integer eid,
                                           @Param("name") String name,
                                           @Param("sex") String sex,
                                           @Param("company") String company,
                                           @Param("typeid") String typeid,
                                           @Param("mobile") String mobile);

    /**
     * 按员工ID查询名片类型（保留原功能，修复参数传递）
     */
    List<MpCardtype> getCardtypeById(@Param("eid") Integer eid);

}